Automatic partner selection in the coooperative mac protocol

ABSTRACT

The present invention provides a system ( 600 ), device ( 500 ) and method ( 400 ) for automatic partner selection in an existing Cooperative MAC (CMAC) protocol, which uses the Ready-to-Send (RTS), Clear-to-Send (CTS) and Partner-Clear-to-Send (PCTS) handshaking to establish cooperation. The present invention enables a “best” partner/relay ( 500. R.k) who is also willing to cooperate to relay information to a destination ( 500. D.J) for the transmitting device (i.e., the source), without the source ( 500. S.i) making a decision on partner selection. That is, the present invention provides a new mechanism by which the best partner/relay ( 500. R.k) that is also willing to cooperate will “step in” automatically without the source&#39;s involvement in selection of the partner/relay ( 500. R.k). This mechanism is contention-based and the partner is “selected” using local information only in a fully distributed manner.

This invention relates to automatic partner selection in a new Cooperative MAC (CMAC) protocol, which uses the Ready-to-Send (RTS), Clear-to-Send (CTS) and Partner-Clear-to-Send (PCTS) handshaking to establish cooperation.

In a cooperative wireless network, a transmitting device (i.e., the source) relies on a partner (i.e., the relay) to transmit partial/complete information to the receiving device (i.e., the destination). This way, the destination receives the information from two devices, namely the source and the relay, via two different wireless links/paths, thus incurring a so-called spatial diversity gain. In order to maximize the diversity gain, the selection of a good partner is crucial to the performance of the cooperative wireless network.

The IEEE 802.11 family of protocols uses the Request to Send (RTS) and Clear to Send (CTS) to reserve the channel and prevent a hidden node problem. In a cooperative MAC (CMAC) protocol, the cooperation is established among the source, relay and destination via a RTS/CTS/PCTS handshaking procedure. First, the source sends a RTS frame to the destination. Following receipt of this RTS frame, the destination replies with a CTS frame to the source. In order to inform both the source and destination that some relays may be willing to help as a partner, the preferred partner also sends a PCTS following the CTS frame. These handshaking frames also reserve the wireless channel for the data transmission. The timeline for this handshaking procedure is illustrated in FIG. 1.

In order to enable cooperation in the existing IEEE 802.11 networks, the RTS frame 101 is modified to include the address of the partner apart from the source and the destination addresses. Upon receiving the RTS the destination sends a CTS 102 and then the partner sends a Partner Clear to Send (PCTS) 103. Then the source sends (partial) data 104 along with the Forward Error Control (FEC) 202 (e.g., Reed Solomon Coding) to both the relay and receiver. The destination receives the data frame 104 with the FEC 202 but does not respond with an ACK immediately. Instead, the destination waits for the partner to transmit a second part of the data 105 with a new FEC 203 or the same FEC that was sent by the source. All transmissions are preceded by the SIFS time 201 to take into account the transmitter/receiver turnaround time that is governed by the PHY being used. All other devices use the Network Allocation Vector (NAV) updated by the “duration” filed of the received frames (i.e., RTS, CTS. Or PCTS) to defer their transmission Devices that can listen to the source set their NAVs governed by the duration field specified in the RTS 101, and devices listening to the destination set their NAVs by the duration field specified in the CTS 102. Devices who listen to a partner set their NAVs specified by the duration field specified in PCTS 103.

If the CTS 102 fails then the CMAC protocol is similar to the IEEE 802.11 protocol and the rules and regulations that apply to IEEE 802.11 apply to CMAC.

If the PCTS 103 transmission fails, then the source sends its data frame 104 at SIFS plus an extra timeout 301 to the destination. Note that 1 slot time 301 is shown in FIG. 3 as a timeout example. In doing so, the source reflects the new duration field so that the medium becomes usable immediately by the devices that are hidden from both the partner and receiver. This scenario is illustrated in FIG. 3.

In general, a source should choose a relay as its partner based on information such as link quality between source and relay, relay and destination, and source and destination or network topology. However, even given a best partner choice by a source, the partner may not really be the best choice because the decision-making at the source may not be made with complete knowledge available. This situation needs to be remedied to incorporate partners in the decision-making process.

The present invention provides a system, apparatus, and method for automatic partner selection in an existing Cooperative MAC (CMAC) protocol, which uses the Ready-to-Send (RTS), Clear-to-Send (CTS) and Partner-Clear-to-Send (PCTS) handshaking to establish cooperation. The present invention enables a “best” partner who is also willing to cooperate to relay information for the transmitting device (i.e., the source), without the source making a decision on partner selection.

That is, the present invention provides a new mechanism by which the best relay that is also willing to cooperate will “step in” automatically without the source's involvement in selection of the partner.

This mechanism is contention-based and the partner is “selected” using local information only in a fully distributed manner.

FIG. 1 illustrates the CMAC protocol based on RTS/CTS/PCTS handshaking;

FIG. 2 Basic scheme for Cooperative Communications;

FIG. 3 illustrates PCTS failure where the sender waits for SIFS+aSlotTime and transmits the data to the receiver and the receiver responds with an ACK;

FIG. 4 illustrates automatic partner selection, according to the present invention;

FIG. 5 illustrates a CMAC device, modified according to the present invention; and

FIG. 6 illustrates a CMAC communication system, according to the present invention.

It is to be understood by persons of ordinary skill in the art that the following descriptions are provided for purposes of illustration and not for limitation. An artisan understands that there are many variations that lie within the spirit of the invention and the scope of the appended claims. Unnecessary detail of known functions and structure may be omitted from the current descriptions so as not to obscure the present invention.

Instead of letting a source select a partner, the present invention provides a system, apparatus, and method that enable candidate relays to decide whether or not to cooperate with the source and its destination. It should be noted that only those candidate relays that can hear both the source and destination (i.e., in both devices' neighborhood) are “good” candidates for being a partner. Since the source may not have full neighborhood information of the intermediate relays, it makes sense for the intermediate relays to decide whether or not to cooperate based on their local information.

The method of the present invention is illustrated in FIG. 4 and includes the following steps:

-   -   1. The source sending a RTS frame 101;     -   2. The destination sending a CTS frame 102 including link         information between the source and destination (obtained from         the RTS frame 101 of step 1);     -   3. Each relay that receives both an RTS 101 and a CTS frame 101,         performing the steps of:         -   a. Calculating/estimating the quality of links between the             source and itself (based on the received RTS frame 101) and             between the destination and itself (based on the received             CTS frame 102),         -   b. Based on the calculated link quality and the link             information included in the CTS frame 102, rating itself             (excellent, good, bad) for the purpose of being a partner,         -   c. If the relay is self-rated “excellent” and “good”,             respectively transmitting a busy tone for two slots and one             slot before contending for transmitting a PCTS frame 103,             otherwise, the relay keeps silent, and         -   d. A relay that does not hear a transmitted busy tone 402             performing the steps of             -   backing off for a randomly selected number of slots                 between 1 and N, and             -   contending for transmitting the PCTS frame (103);     -   4. If the source does not hear any busy tone 402 SIFS (short         inter frame space)+one slot time after the reception of the CTS         frame 102, conducting transmission as in a non-cooperative         scenario based on an assumption that there is no partner;     -   5. If the source correctly receives a frame after reception of         any busy tone 402, the source proceeding with the sender (relay)         of the PCTS frame 103 as a partner;     -   6. If the source receives a frame with errors after reception of         any busy tone 402, the source proceeding as in a non-cooperative         scenario indicating the cancellation of cooperative transmission         in both RTS 103 and DATA 104 frames sent by the source;     -   7. The relay only participating in the cooperative transmission         when the source indicates the need of a cooperation transmission         in both RTS 103 and DATA 104 frames sent by the source; and     -   8. When there is no relay to cooperate with, the source and         destination modifying a “reserved time duration” in their DATA         104 and ACK 204 frames accordingly in order to release an unused         channel time.

The benefits of using the proposed approach include:

-   -   The partner selection could be conducted on a frame-by-frame         basis and thus is suitable for wireless networks with dynamic         topologies;     -   The partner selection is made by the intermediate relays, which         by nature have better (and possibly, more) information to make a         better selection;     -   The partner selection is achieved in a fully distributed manner,         thus reducing potential signaling overheads; and     -   The advantages of using a busy tone are two fold:         -   1. It helps the source to determine whether or not a relay             is willing to cooperate in less than two time slots, thus             reducing signaling overhead and         -   2. It reduces the collision probability between the relays             with different “rates”.

FIG. 5 illustrates a device 500 modified according to the present invention to perform cooperative wireless communication. Each device that participates in an ad hoc network performs source, destination and partner cooperation functions. The cooperative device comprises a partnering decision module 502, a local information memory 501, and a partnering participation module 503.

In a cooperative MAC protocol, a device 500 can be considered to be in at least one mode selected from the group consisting of non-cooperative source/destination, cooperative source/destination (i.e., cooperative transmission or reception), and cooperative partner, (self-evaluation as a partner and relaying information). The cooperative mode can be with respect to at least one source-destination pair of other devices. A device can be a source seeking cooperation from a partner with respect to a destination now and later act as a cooperative partner for another source-destination pair. However many mode combinations are possible, the present invention only provides a system, apparatus and method for a device (candidate partner) 500 to perform self-evaluation and on the basis of this self-evaluation contend for becoming a cooperative partner, rather than a source making a decision without the candidate partner's consent/knowledge. FIG. 5 illustrates a device 500 modified to perform self-evaluation and to contend for being a partner based on this self-evaluation. It is assumed that other communication modes, such as those others suggested above, are already supported by a CMAC protocol.

With this focus in mind, a device 500 is modified to perform automatic partner selection according to the present invention by configuring the device to include: a partnering decision module 502 comprising a quality estimation component 502.1 that performs a self-evaluation of the device as a partner for a given pair of requesting source (the source having send an RTS 101) and the destination having sent a CTS 102. In order to make this evaluation and produce a self rating 501.2 stored in the local information memory 501 by the rating component 502.2 of the quality partnering decision module, the device 500 listens to transmissions and stores link data 501.1 in the local info memory 501. This link data includes link information for links such as source-to-dest 501.1.1, source-to-relay 501.1.2, destination-to-relay 501.1.3, and partner-to-partner 501.1.4.

The device 500 further comprises a partnering participation module 503 that decides whether or not to become a partner for a requesting source-destination pair and that contends for becoming a partner, and includes a back-off component for use when contending to become a partner. The partnering participation module 503 also includes a source component 503.2 for a device 500 to act as a source that is seeking a partner, i.e., sending an RTS 101 that includes a request for a partner, and a destination component 503.3 for the device to act as a destination, i.e., sending a CTS 102 back to a source that is seeking a partner in cooperatively communicating with the destination.

FIG. 6 illustrates a communication system wherein at least one relay device 500 (i.e., 500.R.3) is a CMAC partner device according to the present invention.

The benefits of using the proposed approach include:

-   -   The partner selection is conducted on a frame-by-frame basis,         thus is suitable for wireless networks with dynamic topologies;     -   The partner selection is made by the intermediate relays         500.R.k, which by nature have better (and possibly, more)         information to make a better selection;     -   The partner selection is achieved in a fully distributed manner,         thus reducing potential signaling overheads; and     -   The advantages of using a busy tone are two fold:         -   1. It helps the source to determine within two times slots             whether or not a relay is willing to cooperate, and         -   2. It reduces the collision probability between relays             having different “rates”.

While the preferred embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art that the embodiment of the present invention as described herein are illustrative and various changes and modifications may be made and equivalents may be substituted for elements thereof without departing from the true scope of the present invention. In addition, many modifications may be made to adapt the teachings of the present invention to a particular situation without departing from its central scope. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out the present invention, but that the present invention include all embodiments falling within the scope of the claims appended hereto as well as all implementation techniques. 

1. A cooperative wireless communication system (600), comprising: a cooperative MAC protocol comprising: a forward error control (FEC) for each frame transmitted, and a request-to-send (RTS), clear-to-send (CTS) and a partner-clear-to-send (PCTS) RTS/CTS/PCTS handshaking procedure for a source device (500.S.i) and a destination device (500.D.j) of said source to request cooperation from relay/partner device (500.R.k) such that only a relay/partner device (500.R.k) that receives both an RTS (101) transmitted by the source device (500.S.i) and a CTS (102) transmitted by the destination device (500.D.j) decides based on a self rating (501.2) whether or not to cooperate as a partner with the source (500.S.i) and destination (500.D.j) to transmit information therebetween; and a plurality of devices configured to employ the CMAC protocol such that each device can be any of a source (500.S.i), a destination (500.D.j) and a relay/partner (500.R.k) and combination thereof.
 2. The system (600) of claim 1, wherein a relay/partner device (500.R.k) of said plurality further comprises: a local memory (501) that stores link data (501.1) received in a CTS (102) frame and an RTS (101) frame, and selfrating data (501.3); a partnering decision module (502.1) that includes: a quality estimation component (502.1) to estimate and store the quality of links as said link data (501.1) based on said link data (502.1), and a rating component (502.2) to rate and store the self rating (501.2) of the relay/partner device (500.R.k) as a candidate relay/partner (500.R.k) for relaying transmissions between the source (500.S.i) and the destination (500.D.j) based on said link data 501.1) a partnering participation module (503) to self-select, when said self rating (501.2) is one of a predetermined selection set of ratings, to cooperate as a partner (500.R.k) with the source (500.S.i) and destination (500.D.j) to transmit information therebetween.
 3. The system of claim 2, wherein said partnering participation module (503) is further configured to include: a source component (503.2) to be executed for control of the relay/partner device as a source device (500.S.i); and a destination component (503.3) to be executed for control of the relay/partner device as a destination device (500.D.j).
 4. The system (600) of claim 2, wherein when there is no candidate relay/partner device that self-selects, the source (500.S.i) and the destination (500.D.j) modify a “reserved time duration” in their respective DATA (104) and ACK (204) frames, wherein an unused channel time is thereby released.
 5. The system (600) of claim 2, wherein when said candidate relay/partner device self-selects as a partner (500.R.k) said partner (500.R.k) transmits a busy tone (402) for a duration based on the self rating (501.2) and then said partner (500.R.k) contends for transmission of a PCTS frame (103) to indicate willingness to act as a relay between said source (500.S.i) and destination (500.D.j), wherein only a self-selected partner (500.R.k) that does not hear the at least one busy tone contends for transmitting the PCTS frame (103) and to avoid collision between contending self-selected partners, each self-selected partner that does not hear the at least one busy tone executes a back-off component (503.1) of the partnering participation module (503) to wait a backoff time randomly selected from 1 through a pre-determined integer N idle slots (401) before transmitting the PCTS frame (103).
 6. The system (600) of claim 5, wherein said self-rating is a rating selected from the group consisting of excellent, good, and bad, said pre-determined selection set of ratings is the group consisting of excellent and good, having a corresponding busy tone transmitted for two slots and one slot.
 7. The system (600) of claim 6, wherein the source is further configured to include a source component (503.2) such that the source executes the source component to proceed as follows: if the source component (503.2) does not hear a busy tone (402) SIFS (short inter frame space)+one slot time after a reception of a CTS frame (102), the source component (503.2) conducts transmission as in a non-cooperative scenario based on an assumption that there is no partner; if the source component (503.2) correctly receives a PCTS frame (103) after at least one busy tone (402) the source component (503.2) conducts transmission by cooperating with the self-selected relay/partner (501.R.k) as a partner thereof; if the source component (503.2) receives a PCTS frame (103) with errors from the self-selected partner (500.R.k) after at least one busy tone (402) the source component (503.2) conducts transmission as in a non-cooperative scenario and indicates no need for cooperation in a DATA Frame (104) subsequently transmitted by the source component (503.2); and the self-selected partner (500.R.k) only subsequently participates as a partner if the self-selected partner (500.R.k) receives both an RTS frame (101) and a DATA frame (104) indicating the need for cooperation from the source (500.S.i).
 8. A method (400) for cooperating in a wireless communication system (600), comprising the steps of: providing a cooperative MAC protocol comprising the steps of: including a forward error control (FEC) (202) for each DATA frame (104) transmitted, and providing a request-to-send (RTS), clear-to-send (CTS) and a partner-clear-to-send (PCTS) RTS/CTS/PCTS handshaking procedure for a source device (500.S.i) and a destination device (500.D.j) of said source said handshaking procedure comprising the steps of: (a) requesting cooperation from a relay/partner device (500.R.k) in both an RTS (101) transmitted by the source device (500.S.i) and a CTS (102) transmitted by the destination device (500.D.j); (b) a relay/partner device (500.R.k) that receives both the transmitted RTS (101) the transmitted CTS (102) deciding based on a self rating (501.2) whether or not to cooperate as a partner with the source (500.S.i) and destination (500.D.j) to transmit information therebetween; and providing a plurality of devices (500) configured to employ the CMAC protocol such that each device can be any of a source (500.S.i), a destination (500.D.j), a relay/partner (500.R.k) and combinations thereof.
 9. The method (400) of claim 8, further comprising the step of providing each device (500) of said plurality with: a local memory (501) for storing of a link data (501.1) received in the CTS (102) frame and the RTS (101) frame, and self rating data (501.2) generated by said relay/partner device (500.R.k); a partnering decision module (502.1) that includes: a quality estimation component (502.1) for performing the steps of estimating and storing the quality of links as said link data (501.1) and a rating component (502.2) for performing the steps of self rating and storing the self rating (501.2) in the local memory (501) of the device (500) as a candidate relay/partner (500.R.k) for relay of transmissions between the source (500.S.i) and the destination (500.D.j) based on said link data (501.1) a partnering participation module (503) to perform self-selecting, when said stored self rating (501.2) is one of a predetermined selection set of ratings, for performing the step of cooperating as a partner (500.R.k) with the source (500.S.i) and destination (500.D.j) by performing the step of transmitting information therebetween.
 10. The method (400) of claim 9, wherein said partnering participation module (503) is further configured to perform the steps of: providing a source component (503.2) to be executed for control of the relay/partner device as a source device (500.S.i); and providing a destination component (503.3) to be executed for control of the relay/partner device as a destination device (500.D.j).
 11. The method (400) of claim 9, wherein when there is no candidate relay/partner device that self-selects, the source (500.S.i) and the destination (500.D.j) both performing the step of modifying a “reserved time duration” in their respective DATA (104) and ACK (204) frames whereby an unused channel time is released.
 12. The method (400) of claim 9, wherein when said candidate relay/partner device self-selects as a partner (500.R.k) said partner (500.R.k) performs the steps of: first, transmitting a busy tone (402) for a duration based on the self rating (501.2); then contending for transmission of a PCTS frame (103) to indicate willingness to act as a relay between said source (500.S.i) and destination (500.D.j), wherein, only a self-selected partner (500.R.k) that does not hear the at least one busy tone performs the contending step to avoid collision between contending self-selected partners; each self-selected partner that does not hear the at least one busy tone performs the step of executing a back-off component (503.1) of the partnering participation module (501) to wait a backoff time randomly selected from 1 through idle slots (401) before transmitting the PCTS frame (103).
 13. The method (400) of claim 12, wherein said self rating is a rating selected from the group consisting of excellent, good, and bad, said pre-determined selection set of ratings is the group consisting of excellent and good, having a corresponding busy tone transmission duration of two slots and one slot determined by said self rating.
 14. The method (400) of claim 13, further comprising the step of configuring the source (500.S.i) to include a source component (503.2) to perform the steps of: if the source component (503.2) does not hear a busy tone (402) SIFS (short inter frame space)+one slot time after a reception of a CTS frame (102), the source component (503.2) conducting transmission as in a non-cooperative scenario based on an assumption that there is no partner; if the source component (503.2) correctly receives a PCTS frame (103) after at least one busy tone (402) the source component (503.2) conducting transmission by cooperating with the self-selected relay/partner (501.R.k) as a partner thereof; if the source component (503.2) receives a PCTS frame (103) with errors from the self-selected partner (500.R.k) after at least one busy tone (402), the source component (503.2) performing the steps of: (a) conducting transmission as in a non-cooperative scenario, (b) indicating no need for cooperation in the DATA Frame (104) subsequently transmitted by the source component (503.2), and the self-selected partner (500.R.k) only subsequently participating as a partner if the self-selected partner (500.R.k) receives both an RTS frame (101) and a DATA frame (104) indicating the need for cooperation from the source (500.S.i).
 15. A device (500) for cooperative wireless communication, comprising: a cooperative MAC protocol comprising a forward error control (FEC) (202) for each frame transmitted, and a request-to-send (RTS), clear-to-send (CTS) and a partner-clear-to-send (PCTS) RTS/CTS/PCTS handshaking procedure for a source device to request cooperation from the device (500) such that only when the device (500) receives both an RTS (101) transmitted by the source device (500.S.i) and a CTS (102) transmitted by a destination device (500.D.j) of said source device the device (500) decides, based on a self rating (501.2), whether or not to cooperate as a partner with the source device (500.S.i) and the destination device (500.D.j) to transmit information therebetween; and a partnering participation module that employs the CMAC protocol to control the device (500) as any of a source (500.S.i), a destination (500.D.j) and a relay/partner (500.R.i) and combination thereof.
 16. The device (500) of claim 15, further comprising: a local memory (501) that stores link data (501.1) received in a CTS (102) frame and an RTS (101) frame, and self rating data (501.2); a partnering decision module (502.1) that includes: a quality estimation component (502.1) to estimate and store the quality of link data based on said link data (501.1), and a rating component (502.2) to self rate the device (500) and store the self rating (501.2) as a candidate relay/partner (500.R.k) for relaying transmissions between the source (500.S.i) and the destination (500.D.j) based on said link data, quality of link data (501.1); and a partnering participation module (503) to self-select the device (500), when said self rating (501.2) is one of a predetermined selection set of ratings, to cooperate as a partner (500.R.k) with the source (500.S.i) and destination (500.D.j) to transmit information therebetween.
 17. The device (500) of claim 16, wherein said partnering participation module (503) is further configured to include: a source component (503.2) to be executed for control of the device (500) as a source device (500.S.i); and a destination component (503.3) to be executed for control of the device (500) as a destination device (500.D.j).
 18. The device (500) of claim 16, wherein when said device self-selects as a partner (500.R.k) and does not hear the at least one busy tone: said device (500) transmits a busy tone (402) for a duration based on the self rating (501.2); then, to avoid collision between other contending self-selected devices, the device (500) executes a back-off component (503.1) of the partnering participation module (501) to wait a backoff time randomly selected from 1 through a pre-determined integer N idle slots (401) before transmitting the PCTS frame (103); and then, the device contends for transmission of a PCTS frame (103) to indicate willingness to act as a relay.
 19. The device (500) of claim 18, wherein said self-rating is a rating selected from the group consisting of excellent, good, and bad, said pre-determined selection set of ratings is the group consisting of excellent and good, having a corresponding busy tone transmission duration of two slots and one slot.
 20. The device (500) of claim 19, wherein: the partnering participation module (503) further comprises a source component (503.2) configured such that when the device (500) is acting as a source device (500.S.i) if the source component (503.2) does not hear a busy tone (402) SIFS (short inter frame space)+one slot time after a reception of a CTS frame (102) from a destination device (500.D.j), the source component (503.2) conducts transmission as in a non-cooperative scenario based on an assumption that there is no partner device available, and if the source component (503.2) correctly receives a PCTS frame (103) from a self-selected partner (501.R.k) after at least one busy tone (402) the source component (503.2) conducts transmission by cooperating with the self-selected partner (501.R.k) that transmitted the PCTS frame (103), and if the source component (503.2) receives a PCTS frame (103) with errors from a self-selected partner (500.R.k) after at least one busy tone (402), the source component (503.2) conducts transmission as in a non-cooperative scenario and indicates no need for cooperation in DATA Frame (104) subsequently transmitted by the source component (503.2); and the device (500) as a self-selected partner (500.R.k) only participates as a partner if the device (500) receives both an RTS frame (101) and a DATA frame (104) indicating the need for cooperation from the source (500.S.i). 